Non-volatile memory (NVM) comes in many forms and may be programmed before being deployed in the field. NVM retains its data during power loss. NVM can typically be written to, erased, and then written to again etc. After programming, the NVM may be locked as read-only. For example, NVM may be programmed during chip serialization and is then locked as read-only. The locking may be performed using a one-time programmable (OTP) memory, which by its nature can only be written to and not erased. Chip serialization may include writing code and/or data (some of which is unique per chip and/or secret) into the NVM.